It once was the case that a software program had a design that was determined solely by the original developer of the software. Over the last number of years, software has become increasingly modular, especially in view of object oriented programming. Object oriented programming has provided for the reuse of objects that are essentially parts of a whole. Once coded, a given object, with built-in properties and methods, may be imported into any number of different programs. One particular benefit of this is that a large object, designed to provide specific functionality, can be coded once but include a wide variety of possible implementations.
In the realm of software user interfaces, it is typical that a developer, to make use of an object, writes code to select those properties that are to be displayed in a user interface and to specify a layout for the selected properties. Where the developer wishes to use a pre-existing object which defines a user interface, the developer can rearrange the code for the object to reflect a desired layout. However, when changes in the layout of a particular user interface are required, the code must be reedited to affect the necessary changes. Those changes could include addition of properties to a display, deletion of properties from the display or simply re-arranging the manner in which the properties are displayed. This process adds time to what is called “the development cycle”, i.e., the time required to develop a program.
Consider the familiar “Preferences” dialog that may be seen by selecting a “Preferences” menu option in an “Edit” drop-down menu in the known web browser program Netscape™ Navigator™. The Preferences dialog provides a choice of pages of options that allow a user to customize the program to his or her liking. These pages have names like “Appearance”, “Navigator”, “Mail & Newsgroups”, and “Advanced”. On the “Navigator” page are presented a number of options that allow a user to: decide the nature of the page that is displayed when the program starts; specify a “Home” page; specify a time period after which a record of visited pages expires; and clear a location bar.
In the circumstance where an upgraded version of the Navigator™ program is being devised, it may be decided to move the location bar clearing option to a position just below the Home page specification option. Unfortunately, the source code of the program will require altering to provide such a minor cosmetic change.